home *** CD-ROM | disk | FTP | other *** search
- unit frequest;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Classes, HTTPApp, HelloProducer,
- FieldsProducer;
-
- type
- TWebModule1 = class(TWebModule)
- PageProducer1: TPageProducer;
- procedure WebModule1WebActionItem1Action(Sender: TObject;
- Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
- procedure PageProducer1HTMLTag(Sender: TObject; Tag: TTag;
- const TagString: String; TagParams: TStrings;
- var ReplaceText: String);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- WebModule1: TWebModule1;
-
- implementation
-
- uses TypInfo;
- {$R *.DFM}
-
- procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;
- Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
- begin
- Response.Content := PageProducer1.Content;
- end;
-
- procedure TWebModule1.PageProducer1HTMLTag(Sender: TObject; Tag: TTag;
- const TagString: String; TagParams: TStrings; var ReplaceText: String);
- var i: integer;
- begin
- with TPageProducer(Sender).Dispatcher.Request do
- if CompareText(TagString, 'METHODTYPE') = 0 then
- ReplaceText := TypInfo.GetEnumName(TypeInfo(TMethodType), Ord(MethodType))
- else
- if CompareText(TagString, 'CONTENTFIELDS') = 0 then
- begin
- ReplaceText := ReplaceText + '<UL>';
- for i := 0 to ContentFields.Count - 1 do
- ReplaceText := ReplaceText + '<LI>' + ContentFields[i];
- ReplaceText := ReplaceText + '</UL>';
- end
- else
- if CompareText(TagString, 'COOKIEFIELDS') = 0 then
- begin
- ReplaceText := ReplaceText + '<UL>';
- for i := 0 to CookieFields.Count - 1 do
- ReplaceText := ReplaceText + '<LI>' + CookieFields[i];
- ReplaceText := ReplaceText + '</UL>';
- end
- else
- if CompareText(TagString, 'QUERYFIELDS') = 0 then
- begin
- ReplaceText := ReplaceText + '<UL>';
- for i := 0 to QueryFields.Count - 1 do
- ReplaceText := ReplaceText + '<LI>' + QueryFields[i];
- ReplaceText := ReplaceText + '</UL>';
- end
- else
- if CompareText(TagString, 'METHOD') = 0 then
- ReplaceText := Method
- else
- if CompareText(TagString, 'PROTOCOLVER') = 0 then
- ReplaceText := ProtocolVersion
- else
- if CompareText(TagString, 'URL') = 0 then
- ReplaceText := URL
- else
- if CompareText(TagString, 'QUERY') = 0 then
- ReplaceText := Query
- else
- if CompareText(TagString, 'PATHINFO') = 0 then
- ReplaceText := PathInfo
- else
- if CompareText(TagString, 'PATHTRANSLATED') = 0 then
- ReplaceText := PathTranslated
- else
- if CompareText(TagString, 'AUTHORIZATION') = 0 then
- ReplaceText := Authorization
- else
- if CompareText(TagString, 'CACHECONTROL') = 0 then
- ReplaceText := CacheControl
- else
- if CompareText(TagString, 'COOKIES') = 0 then
- ReplaceText := Cookie
- else
- if CompareText(TagString, 'ACCEPT') = 0 then
- ReplaceText := Accept
- else
- if CompareText(TagString, 'FROM') = 0 then
- ReplaceText := From
- else
- if CompareText(TagString, 'HOST') = 0 then
- ReplaceText := Host
- else
- if CompareText(TagString, 'IFMODIFIEDSINCE') = 0 then
- ReplaceText := DateTimeToStr(IfModifiedSince)
- else
- if CompareText(TagString, 'REFERER') = 0 then
- ReplaceText := Referer
- else
- if CompareText(TagString, 'USERAGENT') = 0 then
- ReplaceText := UserAgent
- else
- if CompareText(TagString, 'COTENTENCODING') = 0 then
- ReplaceText := ContentEncoding
- else
- if CompareText(TagString, 'CONTENTTYPE') = 0 then
- ReplaceText := ContentType
- else
- if CompareText(TagString, 'CONTENTLENGTH') = 0 then
- ReplaceText := IntToStr(ContentLength)
- else
- if CompareText(TagString, 'CONTENTVERSION') = 0 then
- ReplaceText := ContentVersion
- else
- if CompareText(TagString, 'CONTENT') = 0 then
- ReplaceText := Content
- else
- if CompareText(TagString, 'CONNECTION') = 0 then
- ReplaceText := Connection
- else
- if CompareText(TagString, 'DERIVEDFROM') = 0 then
- ReplaceText := DerivedFrom
- else
- if CompareText(TagString, 'EXPIRES') = 0 then
- ReplaceText := DateTimeToStr(Expires)
- else
- if CompareText(TagString, 'TITLE') = 0 then
- ReplaceText := Title
- else
- if CompareText(TagString, 'REMOTEADDR') = 0 then
- ReplaceText := RemoteAddr
- else
- if CompareText(TagString, 'REMOTEHOST') = 0 then
- ReplaceText := RemoteHost
- else
- if CompareText(TagString, 'SCRIPTNAME') = 0 then
- ReplaceText := ScriptName
- else
- if CompareText(TagString, 'SERVERPORT') = 0 then
- ReplaceText := IntToStr(ServerPort);
- end;
-
- end.
-